Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2021-TKDE-[LIISP]Learning From Incomplete and Inaccurate Supervision

https://ieeexplore.ieee.org/document/9361098

2019年にeもKDDに出している。

Introduction

この論文は以下の3点の貢献がある。

  1. PU Learningしていくときに、時たま出るおかしな予測について、学習アルゴリズムの「ノイズ」のせいだとしている。そして、それを補正していきたい。
  2. それについての、超過リスク分析?に基づく新しい手法を提案した。
  3. 実験で正しさを証明した。

Related Works

📄Arrow icon of a page link2020-Survey-A Survey of Label-noise Representation Learning: Past, Present and Future

📄Arrow icon of a page link2020-Survey-Learning from positive and unlabeled data: a survey

Semi-supervised Learningベースの手法もあるらしい。

Importance Weightingベースの方法あるらしい。

UU Learningベースの手法もあるらしい。

問題設定

  • サンプルはxX\mathbf{x} \in X、ラベルはy{1,+1}y \in \{-1, +1\}で、+1がP、-1がNデータ。
  • PUなので、実際にはyyは与えられず、Pは必ずPだがUはPかNかはわからないという設定。
  • PUの式は以下の2つである。数学的には等価であるが、下の方がよくつかわれる。
2πPE+[l(g(x),+1)]+EU[l(g(x),1)]πPπPE+[l(g(x),+1)]πPE+[l(g(x),1)]+EU[l(g(x),1)]2 \pi_P \mathbb{E}_+[l(g(\mathbf{x}), +1)] + \mathbb{E}_U[l(g(\mathbf{x}), -1)] - \pi_P \\ \pi_P \mathbb{E}_+[l(g(\mathbf{x}), +1)] - \pi_P \mathbb{E}_+[l(g(\mathbf{x}), -1)] + \mathbb{E}_U[l(g(\mathbf{x}), -1)]
  • UU Learningは2つのUnlabeledの分布があり、それぞれClass Priorがπ1,π2\pi_1, \pi_2であるとき、以下の式の最小化になる。
    • まずU1について、lossの合計は係数a,ba, bを使ってal(,+1)+bl(,1)a l(\cdot, +1) + b l(\cdot, -1)として、U2についても同様にcl(,+1)+dl(,1)c l(\cdot, +1) + d l(\cdot, -1)としている。
    • この時、これらを用いてaπ1+dπ2=πP,b(1π1)+c(1π2)=πNa \pi_1 + d\pi_2 = \pi_P, b (1 - \pi_1) + c(1 - \pi_2) = \pi_Nであるとあらわせる。
    • この時、以下のような式でUU Learningできる。
    Image in a image block
    Image in a image block
  • 問題設定は、以下のようなノイズ。
    • 与えられるのはPUのデータセット。
    • Pデータは完ぺきにPで構成されている。
    • Uデータはいつも通りPとUによって、Class Priorπ\piの混合比である。
    • ノイズとは、PU Learningしたときに、時たま明らかにおかしい予測をしてしまう問題を指す。なので、これは「学習アルゴリズム」や「各データ」に依存して起きる。
    • これをうまく較正していくのが目標。

提案手法

1. PU LearningでPseudo Labelを付与

PU Learningを用いて、分類器gPUg_{PU}を訓練し、U Dataにそれを用いてPseudo Labelをつけていく。

UにPseudo Labelが付与されたら、Pseudo LabelがPのものの集合はQPQ_P、NのものはQNQ_Nとする。

2. Pseudo Labelの予測結果を補正

Uに対するPseudo Labelが完全に正しいというわけはないので、これをできるだけ是正していきたいと考える。

ここで、下図のようなもともとのσ+.σ\sigma_+. \sigma_-を式変形とπPπPˉ,πNπNˉ\pi_P \approx \pi_{\bar{P}}, \pi_N \approx \pi_{\bar{N}}の前提をおいて、σ+,σ\sigma_+^\prime, \sigma_-^\primeを代わりに推定しそれでσ+\sigma_+などを代替する。

σ+(x)=1/Pr(y^=+1x,y=+1)σ(x)=Pr(y=1x,y^=1)\sigma_+(\mathbf{x}) = 1/Pr(\hat{y}=+1|\mathbf{x}, y=+1)\\ \sigma_-(\mathbf{x}) = Pr(y=-1|\mathbf{x}, \hat{y}=-1)
Image in a image block

σ+(x)\sigma_+^\prime(\mathbf{x})は与えられたPデータによりp(xy=+1)p(\mathbf{x}|y=+1)は経験分布として既知で、Pseudo LabelのPとなっているものにより、p^(xy=+1)\hat{p}(\mathbf{x}|y=+1)を推定する。

σ(x)\sigma(\mathbf{x})は与えられたPデータで同様にp(xy=+1)p(\mathbf{x}|y=+1)は経験分布として既知で、p(xy=+1)p(\mathbf{x}|y=+1)はわからない。

本来これについてモデルを当てはめたいところだが、次でいうBregman Divergenceの計算でそれは実は不要とわかる。

3. Bregman Divergenceの計算

Bregman Divergenceの定義として、微分可能なffな凸関数を使う、Bregman DivergenceDfD_fは以下のようになる。

Df(pq)=f(p)f(q)f(y),xyD_f(p || q) = f(p) - f(q) - \langle \nabla f(y), x-y \rangle

例えば、f(x)=x2f(x) = ||x||^2となるとき、これはx2y22y,xy=2xy2 ||x||^2- ||y||^2- \langle 2y, x-y \rangle = 2 ||x-y||^2となり、ユークリッド距離になるらしい。

これを今回は、ある関数ffによって、Df(σ+σ+)D_f(\sigma_+||\sigma_+^\prime)を計算する。分布についてのBregman Divergenceは、このように全体を積分していく(期待値

Image in a image block

ここでは、以下のようにBregman Divergenceはなるらしい。

Image in a image block

これを経験的に解くと、以下の式になる。

Image in a image block

これを計算することにより、σ+\sigma_+p(xy^=+1)p(\mathbf{x}|\hat{y}=+1)の値を明確に推定せずとも、σ+\sigma_+の推定値がわかる。

4. 推定したσ(x)\sigma(\mathbf{x})を用いた新たなPUの式で再学習

R(g)=γRIAos+(1γ)RICosRIAos=EPˉ[σ+(x)l(g(x),+1)]+ENˉ[σ(x)l(g(x),1)]RIAos=2πPEP[l(g(x),+1)]+EU[l(g(x),1)]R(g) = \gamma R_{IA}^{os} + (1 - \gamma)R_{IC}^{os} \\ R_{IA}^{os} = \mathbb{E}_{\bar{P}}[\sigma_+(\mathbf{x})l(g(\mathbf{x}), +1)] + \mathbb{E}_{\bar{N}}[\sigma_-(\mathbf{x}) l(g(\mathbf{x}), -1)] \\ R_{IA}^{os} = 2 \pi_P \mathbb{E}_P[l(g(\mathbf{x}), +1)] + \mathbb{E}_U[l(g(\mathbf{x}), -1)]

1つ目の損失はPseudo Labelについて。

2. σ+,σ\sigma_+, \sigma_-の推定

仮定により、与えられるPは完ぺきにCleanなので、QPQ_PPPデータと同じ分布に従うはず。だからこの2つの経験分布は距離が最小ひいては0でなければならない。

だが、学習アルゴリズムやデータに依存するNoiseというのがあるため、ここの差異を是正しないといけない。これの一環として、σ+,σ\sigma_+, \sigma_-を推定して、補正を掛ける。

σ+(x)=1/Pr(y^=+1x,y=+1)σ(x)=Pr(y=1x,y^=1)\sigma_+(\mathbf{x}) = 1/Pr(\hat{y}=+1|\mathbf{x}, y=+1)\\ \sigma_-(\mathbf{x}) = Pr(y=-1|\mathbf{x}, \hat{y}=-1)
Image in a image block

以上のように、定義で0になっている部分を足してあげることで、新たな式変形σ+\sigma^\prime_+などができる。

ここでπP/πPˉ\pi_P/\pi_{ \bar{P}}などがあるが、実際の推定はこの部分は大体1だとして、直接σ+(x)=Pr(xy=+1)/Pr(xy^=+1)\sigma_+^\prime(\mathbf{x}) = Pr(\mathbf{x}|y=+1)/Pr(\mathbf{x}|\hat{y}=+1)などを推定し、これをσ+(x)\sigma_+(\mathbf{x})と等しくなるべきだろう、と考える。

その尺度として、Bregman Divergenceを使っている。

定義として、微分可能なffな凸関数を使う、Bregman DivergenceDfD_fは以下のようになる。

Df(pq)=f(p)f(q)f(y),xyD_f(p || q) = f(p) - f(q) - \langle \nabla f(y), x-y \rangle

例えば、f(x)=x2f(x) = ||x||^2となるとき、これはx2y22y,xy=2xy2 ||x||^2- ||y||^2- \langle 2y, x-y \rangle = 2 ||x-y||^2となり、ユークリッド距離になるらしい。

σ+(x)=p(xy=+1)/p(xy^=+1)\sigma_+(\mathbf{x}) = p(\mathbf{x}|y=+1)/p(\mathbf{x}|\hat{y}=+1)である。与えられているPデータは絶対に正しいp(xy=+1)p(\mathbf{x}|y=+1)の経験分布ので、動かす必要があるのはp(xy^=+1)p(\mathbf{x}|\hat{y}=+1)だけ

以下のように、推定したいσ+\sigma_+σ+\sigma_+^\primeの間でBregman Divergenceを考え、最小化するようにσ+\sigma_+を動かしていく。

我々はPU Learningの識別器から、Uの中にあるPseudo LabelがPであるデータに

Image in a image block

Image in a image block

これと似てるように、σ\sigma_-の予測はできる。